package com.ys.nms.module.business.dal.dataobject.companyproperty;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ys.nms.framework.mybatis.core.dataobject.BaseDO;
import com.ys.nms.module.business.dal.dataobject.devices.DevicesDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;

/**
 * 资产 DO
 *
 * @author 超级管理员
 */
@TableName("nms_company_property")
@KeySequence("nms_company_property_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CompanyPropertyDO extends BaseDO {

    /**
     * id
     */
    @TableId(type = IdType.INPUT)
    private Integer id;

    /**
     * IP地址
     */
    private String hostName;
    /**
     * 名称
     */
    private String name;
    /**
     * 设备类型
     */
    private Long deviceType;
    /**
     * 业务类型
     */
    private String businessType;
    /**
     * 区域
     */
    private Long area;
    /**
     * 厂商
     */
    private String manufacturer;
    /**
     * 型号
     */
    private String model;
    /**
     * 序列号
     */
    private String serial;
    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate manufactureDate;
    /**
     * 质保到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate warrantyDate;
    /**
     * 设备分布位置
     */
    private String location;
    /**
     * 采集状态1已采集2未采集 默认1
     */
    private Integer collect;

    //cup利用率
    @TableField(exist = false)
    private Double cpuUsage;

    //内存利用率
    @TableField(exist = false)
    private Double  memUsage;

    @TableField(exist = false)
    private DevicesDO devices;



}
